using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("CardTypeBanner")]
	public class CardTypeBanner : MonoBehaviour
	{
		public GameObject m_root => method_3<GameObject>("m_root");

		public UberText m_text => method_3<UberText>("m_text");

		public GameObject m_spellBanner => method_3<GameObject>("m_spellBanner");

		public GameObject m_minionBanner => method_3<GameObject>("m_minionBanner");

		public GameObject m_weaponBanner => method_3<GameObject>("m_weaponBanner");

		public Card m_card => method_3<Card>("m_card");

		public Color MINION_COLOR => method_2<Color>("MINION_COLOR");

		public Color SPELL_COLOR => method_2<Color>("SPELL_COLOR");

		public Color WEAPON_COLOR => method_2<Color>("WEAPON_COLOR");

		public CardTypeBanner(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CardTypeBanner(IntPtr address)
			: this(address, "CardTypeBanner")
		{
		}

		public static CardTypeBanner Get()
		{
			return MonoClass.smethod_15<CardTypeBanner>(TritonHs.MainAssemblyPath, "", "CardTypeBanner", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void Update()
		{
			method_8("Update");
		}

		public bool IsShown()
		{
			return method_11<bool>("IsShown", Array.Empty<object>());
		}

		public void Show(Card card)
		{
			method_8("Show", card);
		}

		public void Hide()
		{
			method_9("Hide", new Class276.Enum20[0]);
		}

		public void Hide(Card card)
		{
			method_9("Hide", new Class276.Enum20[1] { Class276.Enum20.Class }, card);
		}

		public CardDef GetCardDef()
		{
			return method_14<CardDef>("GetCardDef", Array.Empty<object>());
		}

		public void ShowImpl()
		{
			method_8("ShowImpl");
		}

		public void HideImpl()
		{
			method_8("HideImpl");
		}

		public void UpdatePosition()
		{
			method_8("UpdatePosition");
		}
	}
}
